#pragma once

#include <string>
#include "cg/cg.h"
#include "ICollidable.h"
#include "Enemy1Manager.h"
#include "Enemy2Manager.h"

namespace PeanutQuest {

	class Enemy :
		public ICollidable,
		public cg::IDrawListener,
		public cg::IUpdateListener
	{
	private:
		

	public:
		Enemy() : ICollidable() {
			_status = "enemy";
		}
		virtual ~Enemy() {
			if(cg::Registry::instance()->exists("Enemy1Manager")) {
				Enemy1Manager* em = (Enemy1Manager*)cg::Registry::instance()->get("Enemy1Manager");
				em->deleteEnemy(this);
			}
			if(cg::Registry::instance()->exists("Enemy2Manager")) {
				Enemy2Manager* em = (Enemy2Manager*)cg::Registry::instance()->get("Enemy2Manager");
				em->deleteEnemy(this);
			}	
		}
		
		virtual void update(unsigned long elapsed_millis) {}
		virtual void draw() {}

	};
}